package com.iuie.ns.frame.config;

import java.util.Locale;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.context.support.ResourceBundleMessageSource;

/**
 * 获取国际化信息
 * @author lj
 * @createTime 2017年1月6日 下午4:49:17
 */
public class MessageResourcesUtil {

	@Resource(name = "messageSource")
	private ResourceBundleMessageSource messageSource;
	
	private MessageResourcesUtil(){
	}
	
	private static class Single {
		private static MessageResourcesUtil instance = new MessageResourcesUtil();
	}
	
	public static MessageResourcesUtil getInstance() {
		return Single.instance;
	}
	
	
	/**
	 * 获取和操作系统字符集相同的国际化信息，不带参数
	 * @createTime 2017年1月6日 下午4:43:51
	 * @param code 国际化信息编码
	 * @return
	 */
	public String getMessage(String code){
		Locale locale = Locale.getDefault();
		String msg = messageSource.getMessage(code, null, locale);
		return msg;
	}
	/**
	 * 获取国际化信息，不带参数
	 * @createTime 2017年1月6日 下午4:40:41
	 * @param code 国际化信息编码
	 * @param req request请求
	 * @return
	 */
	public String getMessage(String code,HttpServletRequest req){
		String msg = messageSource.getMessage(code, null, req.getLocale());
		return msg;
	}
	/**
	 * 
	 * @createTime 2017年1月6日 下午4:45:49
	 * @param code 国际化信息编码
	 * @param args 参数数组
	 * @param req request请求
	 * @return
	 */
	public String getMessage(String code,String[] args,HttpServletRequest req) {
		String msg = messageSource.getMessage(code, args, req.getLocale());
		return msg;
	}
	/**
	 * 
	 * @createTime 2017年1月6日 下午4:45:49
	 * @param code 国际化信息编码
	 * @param args 参数数组
	 * @param req request请求
	 * @return
	 */
	public String getMessage(String code,String[] args) {
		Locale locale = Locale.getDefault();
		String msg = messageSource.getMessage(code, args, locale);
		return msg;
	}
}
